#!/usr/bin/python
# Write Python 3 code in this online editor and run it.

'''
冒泡排序：
通过不断比较相邻的元素
将数组大的元素往后冒
从而实现排序的过程

将第一个元素和第二个元素进行比较，如果前者大于后者，则进行交换
然后，再比较第二个元素和第三个元素进行比较，如果前者大于后者，则进行交换
依次类推，直到最大的元素被移动到最后的位置
然后进行第二轮比较，直到次大的元素被移动到倒数第二的位置
依次类推

range(初值, 终值, 步长)
'''
def BubbleSort(a):
	n = len(a)
	#第一轮比较次数为n-1, 最后一轮比较次数为1, [n-1, 1], 左闭右开[n-1, 0)
	#每轮比较次数少1
	if n == 1:
		print(a)
	else:
		for i in range(n-1, 0, -1):
			for j in range(0, i):
				if a[j] > a[j+1]:
					a[j], a[j+1] = a[j+1], a[j]
			print(a)
		
if __name__ == '__main__':
	a = [8,7,6,5,4,3,2,1]
	BubbleSort(a)